<!DOCTYPE html
  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- saved from url=(0014)about:internet -->
<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<meta name="DC.Type" content="reference">
<meta name="DC.Title" content="Task Groups">
<meta name="DC.subject" content="Task Groups">
<meta name="keywords" content="Task Groups">
<meta name="DC.Relation" scheme="URI" content="../reference/reference.htm">
<meta name="DC.Relation" scheme="URI" content="../reference/task_groups/task_group_cls.htm">
<meta name="DC.Relation" scheme="URI" content="../reference/task_groups/task_group_status_enum.htm">
<meta name="DC.Relation" scheme="URI" content="../reference/task_groups/task_handle_cls.htm">
<meta name="DC.Relation" scheme="URI" content="../reference/task_groups/make_task_func.htm">
<meta name="DC.Relation" scheme="URI" content="../reference/task_groups/structured_task_group_cls.htm">
<meta name="DC.Relation" scheme="URI" content="../reference/task_groups/is_current_task_group_canceling_func.htm">
<meta name="DC.Relation" scheme="URI" content="task_scheduler.htm">
<meta name="DC.Format" content="XHTML">
<meta name="DC.Identifier" content="taskgroups">
<meta name="DC.Language" content="en-US">
<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
<title>Task Groups</title>
</head>
<body id="taskgroups">
 <!-- ==============(Start:NavScript)================= -->
 <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
 <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
 <!-- ==============(End:NavScript)================= -->
<a name="taskgroups"><!-- --></a>

 
  <h1 class="topictitle1">Task Groups</h1>
 
  
  <div>
	 <div class="section">
		<p>&nbsp;
		</p>
 
		<p>This section covers the high-level interface to the
		  task scheduler. The Task Scheduler section covers the low-level interface. The
		  high-level interface lets you easily create groups of potentially parallel
		  tasks from functors or lambda expressions. The low-level interface permits more
		  detailed control, such as control over exception propagation and affinity.
		</p>
 
	 </div>

	 <div class="section"><h2 class="sectiontitle">Summary</h2>
		 
		<p>High-level interface for running functions in
		  parallel.
		</p>
 
	 </div>

	 <div class="section"><h2 class="sectiontitle">Syntax</h2>
		
		<pre>    template&lt;typename Func&gt; task_handle;
    template&lt;typename Func&gt; task_handle&lt;Func&gt; make_task( const Func&amp; f );
    enum task_group_status;
    class task_group;
    class structured_task_group;
    bool is_current_task_group_canceling();</pre> 
	 </div>

	 <div class="section"><h2 class="sectiontitle">Header</h2>
		
		<pre>        #include "tbb/task_group.h"</pre> 
		<p><strong>Requirements</strong>
		</p>
 
		<p>Functor arguments for various methods in this
		  section should meet the requirements in the table below. 
		</p>
 
		
<div class="tablenoborder"><a name="tbl31"><!-- --></a><table cellpadding="4" summary="" id="tbl31" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">Requirements on functor arguments</span></caption> 
		   
		   
		  <thead align="left"> 
			 <tr> 
				<th class="cellrowborder" valign="top" width="NaN%" id="d105221e75">
				  <p>Pseudo-Signature
				  </p>

				</th>
 
				<th class="row-nocellborder" valign="top" width="NaN%" id="d105221e81">
				  <p>Semantics
				  </p>

				</th>
 
			 </tr>
 
		  </thead>
 
		  <tbody> 
			 <tr> 
				<td class="cellrowborder" valign="top" width="NaN%" headers="d105221e75 ">
				  <p><samp class="codeph">Func::Func (const
						Func&amp;)</samp>
				  </p>

				</td>
 
				<td class="row-nocellborder" valign="top" width="NaN%" headers="d105221e81 ">
				  <p>Copy constructor.
				  </p>

				</td>
 
			 </tr>

			 <tr> 
				<td class="cellrowborder" valign="top" width="NaN%" headers="d105221e75 ">
				  <p><samp class="codeph">Func::~Func ()</samp>
				  </p>

				</td>
 
				<td class="row-nocellborder" valign="top" width="NaN%" headers="d105221e81 ">
				  <p>Destructor.
				  </p>

				</td>
 
			 </tr>

			 <tr> 
				<td class="cellrowborder" valign="top" width="NaN%" headers="d105221e75 ">
				  <p><samp class="codeph">void Func::operator()()
						const;</samp>
				  </p>

				</td>
 
				<td class="row-nocellborder" valign="top" width="NaN%" headers="d105221e81 ">
				  <p>Evaluate functor.
				  </p>

				</td>
 
			 </tr>

		  </tbody>

		</table>
</div>
 
	 </div>

  </div>
 
  
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong>&nbsp;<a href="../reference/reference.htm">Intel&reg; Threading Building Blocks Reference Manual</a></div>
</div>
<div class="See Also">
<ul class="ullinks">
<li class="ulchildlink"><a href="../reference/task_groups/task_group_cls.htm">task_group Class</a><br>
</li>
<li class="ulchildlink"><a href="../reference/task_groups/task_group_status_enum.htm">task_group_status Enum</a><br>
</li>
<li class="ulchildlink"><a href="../reference/task_groups/task_handle_cls.htm">task_handle Template Class</a><br>
</li>
<li class="ulchildlink"><a href="../reference/task_groups/make_task_func.htm">make_task Template Function</a><br>
</li>
<li class="ulchildlink"><a href="../reference/task_groups/structured_task_group_cls.htm">structured_task_group Class</a><br>
</li>
<li class="ulchildlink"><a href="../reference/task_groups/is_current_task_group_canceling_func.htm">is_current_task_group_canceling Function</a><br>
</li>
</ul>

<h2>See Also</h2>
<div class="linklist">
<div><a href="task_scheduler.htm">Task Scheduler 
		  </a></div></div>
</div>

</body>
</html>
